void SYNC_ROW_H(void)
{
    PTBDD_PTBDD3=1;
    PTBD_PTBD3=1;
}

void SYNC_ROW_L(void)
{
    PTBDD_PTBDD3=1;
    PTBD_PTBD3=0;
}        

void SYNC_COL_H(void)
{
    PTBDD_PTBDD2=1;
    PTBD_PTBD2=1;
}        

void SYNC_COL_L(void)
{
    PTBDD_PTBDD2=1;
    PTBD_PTBD2=0;
}        

void SCL_CL_H(void)
{
    PTBDD_PTBDD1=1;
    PTBD_PTBD1=1;
}              

void SCL_CL_L(void)
{
    PTBDD_PTBDD1=1;
    PTBD_PTBD1=0;
}  

void DIN_int(void)
{
    PTBDD_PTBDD0=1;
}


/******************************************************************
******************************************************************/
void ROW_INIT(void)
{
    DIN_int();                 
    delay60us();
    SYNC_ROW_H(); 
    delay60us();
    SYNC_ROW_L();
    //delay_us(tn);
    SCL_CL_H();
   
}

/******************************************************************
******************************************************************/
void COL_INIT(void)                    
{
    DIN_int();
    delay60us();
    SYNC_COL_H();
    delay60us();
    SYNC_COL_L();
    //delay_us(tn);
    SCL_CL_H();
}
/******************************************************************
******************************************************************/
void ROW_STOP(void)
{
    SYNC_ROW_H();
    //delay_us(tn);
    SCL_CL_H();
}
/******************************************************************
******************************************************************/
void COL_STOP(void)
{
    SYNC_COL_H();  
    //delay_us(tn);
    SCL_CL_H();
}

/******************************************************************
******************************************************************/
void ADG_DATA(uchar dat)
{
    
    
    DIN_1414 = (dat&0x80)>>7;
    delay60us();
    SCL_CL_L();
    delay60us();
    SCL_CL_H();
    delay60us();

    
    DIN_1414 = (dat&0x40)>>6;
    delay60us();
    SCL_CL_L();
    delay60us();
    SCL_CL_H();
    delay60us();

    
    DIN_1414 = (dat&0x20)>>5;
    delay60us();
    SCL_CL_L();
    delay60us();
    SCL_CL_H();
    delay60us();

    
    DIN_1414 = (dat&0x10)>>4;
    delay60us();
    SCL_CL_L();
    delay60us();
    SCL_CL_H();
    delay60us();
    

    DIN_1414 = (dat&0x08)>>3;
    delay60us();
    SCL_CL_L();
    delay60us();
    SCL_CL_H();
    delay60us();

    
    DIN_1414 = (dat&0x04)>>2;
    delay60us();
    SCL_CL_L();
    delay60us();
    SCL_CL_H();
    delay60us();

    
    DIN_1414 = (dat&0x02)>>1;
    delay60us();
    SCL_CL_L();
    delay60us();
    SCL_CL_H();
    delay60us();

    
    DIN_1414 = dat&0x01;
    delay60us();
    SCL_CL_L();
    delay60us();
    SCL_CL_H();
    delay60us();
    
}
/******************************************************************
******************************************************************/
void ROWCL(uchar dat)                    
{
    ROW_INIT();
    
    ADG_DATA(dat); 
      
    ROW_STOP();
    
}

/******************************************************************
******************************************************************/
void COLCL(uchar dat)
{
    COL_INIT();
    
    ADG_DATA(dat); 
    
    COL_STOP();
    
}
